iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
Agile

敏捷路上觀察紀錄-那些好用的與歪掉的部分系列 第 14

[DAY 14]哥帶你飛?兩個臭皮匠?-Pair programming

  • 分享至 

  • xImage
  •  

想了解更多有關Pair programming? 千萬別錯過由本系列改寫出版的《Agile一本通!敏捷新手入門導引》
購書傳送門>> https://www.books.com.tw/products/0010968755


「灰貓,關於昨天您帶我一起開發的任務,這一段我想不透怎麼做,可以找您討論一下嗎?」最近灰貓帶著幼貓在開發新的任務。

「嗯...先說說你目前的理解,我們再一起看要怎麼做比較好。」

「我目前的想法是...,這題我想這樣寫...,但是遇到了困難在於...。」

「喔我大概懂了,這段如果改成...,來試試看會不會比較好。」

「喔喔!這個想法好棒,我竟然沒有想到!」

「有理解了嗎?那你繼續,我幫你看看。」

結對程式設計(Pair programming)

結對程式設計是一種敏捷軟體開發的方法,兩個開發團隊成員在一個電腦上,或藉由螢幕分享、協作編輯器共同工作。一個人輸入程式,而另一個人檢視他輸入的每一行程式。

優點

  1. 程式碼品質提高,錯誤發生率降低:有人盯著做事,通常不會恣意妄為,且為了讓對方看懂,通常寫作風格也會較為一致,節省日後理解成本;比起事後code review才發現問題,在開發階段就修改好更具效率。
  2. 互相備份工作內容:若其中一人請假或離職,團隊中成員可立即接手開發或維護,省去文件交接、理解商業邏輯及讀懂對方寫的程式的時間
  3. 交流想法、提升工作效率:若其中一個人對任務理解有出入,在開發階段即可發現並更正;或者對於同一任務,另一人有不同的想法或解法,可以在開發時提出,兩人腦力激盪出更優化的作法

缺點

  1. 專案時間增長,主管難以認同:以往一個人可以完成的工作量,變成需要兩人才能完成,在專案趕工、團隊人力較少時,主管難以認同此作法
  2. 雙方任務時間必須一致:若其中一方因為會議等其他外務干擾,則另一方會受到影響而中斷

讓結對程式設計更好的方法

  1. 執行時間不要太長,若其中一方認為無法專注,應休息一下再繼續
  2. 兩個對專案/技術不熟的人不要放在同一對,若對技術不熟悉,應先各自研究後,有一些成果再交流
  3. 兩個對專案/技術都很熟的人,也不需放在同一對。或者工作內容很簡單,也無須結對程式設計
  4. 兩個處不來的人不要放在同一對
  5. 資深人員帶新人使用結對程式設計時,可先鼓勵新人不必害怕,若有不懂或更好的想法可隨時討論,或者進行到一定段落稍作暫停,讓新人有提問與思考的時間

今天的參考資料/延伸閱讀:

  1. Pair Programming (結對程式設計)的執行心得
  2. 【文思不藏私】@千萬不要『結對編程』
  3. 結對程式設計
  4. Pair programming 是什麼?

上一篇
[DAY 13]一份有多大-談談故事點
下一篇
[DAY 15]不在同辦公室也能當同事-遠端同步協作
系列文
敏捷路上觀察紀錄-那些好用的與歪掉的部分30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言